In an Internet Protocol (IP) network, it is critical to minimize downtime and achieve high availability. One method for achieving high availability involves sharing single or multiple IP addresses between two (or more) network hosts. The act of switching ownership of a shared IP address between hosts is referred to as floating, and the shared IP address is referred to as the floating IP address. Only one host can own the floating IP address at any given instant in time.
Hosts that are configured to float IP addresses among them are referred to as High Availability (HA) nodes. All the HA nodes that potentially can own the floating IP address make up an HA cluster. Only one HA node in the HA cluster can own the IP address at any given instant in time. Within the HA cluster, the HA nodes monitor each other using a heartbeat protocol, for example, so each HA node knows which one should own the floating IP address.
There are several problems with current methods for achieving high availability. One problem is that HA nodes typically must be located on the same Local Area Network (LAN). That is, the same LAN must be physically co-located with the HA nodes. This limitation is due to the fact that IP addresses do not reliably traverse off a given LAN and puts stringent constraints on the location and distance allowed between HA nodes.
Another problem is evident when hosts attempt to provide load balancing and/or redundancy among different physical interfaces. Namely, in such cases, all redundant interfaces must be on the same LAN because the interfaces share the same IP address. Consequently, an HA node may prematurely fail over its IP addresses due to a recoverable local network failure. This would incur extensive latency and startup work due to failover. This limitation is especially apparent when HA nodes are connected to multiple LANs, and the failure of a single LAN results in unavailability of the HA node. In addition, because a LAN may be considered a single point of failure, the failure of one network device can make all interfaces on a given LAN inoperable.
Accordingly, there exists a need for improved methods and systems for floating IP addresses between HA nodes, as well as for improved local subnet failure detection and recovery.